package org.javahispano.javacup.tacticas_aceptadas.guatigoza.tactica;

import java.awt.Color;
import org.javahispano.javacup.tacticas_aceptadas.guatigoza.modelo.JugadorImpl;
import org.javahispano.javacup.modelo.EstiloUniforme;
import org.javahispano.javacup.modelo.JugadorDetalle;
import org.javahispano.javacup.modelo.TacticaDetalle;

public class TacticaGuatigozaDetalle implements TacticaDetalle {

    double[] velocidades = null, remates = null, presiciones = null;
    JugadorDetalle[] jugadores;

    public TacticaGuatigozaDetalle() {
	// Nuestro valores para el equipo
	// Final!
	jugadores = new JugadorDetalle[]{
		    new JugadorImpl("Frankliño", 1, new Color(255, 200, 150), new Color(50, 0, 0), 0.90, 0.89, 0.70, true),
		    new JugadorImpl("Chapitiño", 2, new Color(255, 200, 150), new Color(50, 0, 0), 0.95, 0.79, 0.96, false),
		    new JugadorImpl("Sixtiño", 3, new Color(255, 200, 150), new Color(50, 0, 0), 0.72, 0.97, 0.44, false),
		    new JugadorImpl("Eugeniño", 4, new Color(255, 200, 150), new Color(50, 0, 0), 0.88, 0.84, 0.82, false),
		    new JugadorImpl("Robinsiño", 5, new Color(255, 200, 150), new Color(50, 0, 0), 0.94, 0.90, 0.69, false),
		    new JugadorImpl("Jaimiño", 6, new Color(255, 200, 150), new Color(50, 0, 0), 0.99, 0.94, 0.81, false),
		    new JugadorImpl("Elieziño", 7, new Color(255, 200, 150), new Color(50, 0, 0), 0.56, 0.80, 0.97, false),
		    new JugadorImpl("Fernandiño", 8, new Color(255, 200, 150), new Color(50, 0, 0), 0.97, 0.86, 0.44, false),
		    new JugadorImpl("Leiño", 9, new Color(255, 200, 150), new Color(50, 0, 0), 0.33, 0.92, 0.82, false),
		    new JugadorImpl("Joguiño", 10, new Color(0, 255, 0), new Color(255, 255, 0), 0.96, 0.87, 0.96, false),
		    new JugadorImpl("Sergiño", 69, new Color(0, 255, 255), new Color(153, 255, 153), 0.98, 0.96, 0.97, false)
		};

    }

    public TacticaGuatigozaDetalle(double[] velocidades, double[] remates, double[] presiciones) {
	this();
	this.velocidades = velocidades;
	this.remates = remates;
	this.presiciones = presiciones;
	// Super engorroso por no tener setters !
	// Este código se puede eliminar despues de las pruebas
	if (velocidades != null) {
	    for (int i = 0; i < 11; i++) {
		jugadores[i] = new JugadorImpl(
			jugadores[i].getNombre(), jugadores[i].getNumero(), jugadores[i].getColorPiel(),
			jugadores[i].getColorPelo(), velocidades[i], jugadores[i].getRemate(),
			jugadores[i].getPresicion(), jugadores[i].esPortero());
	    }
	}

	if (remates != null) {
	    for (int i = 0; i < 11; i++) {
		jugadores[i] = new JugadorImpl(
			jugadores[i].getNombre(), jugadores[i].getNumero(), jugadores[i].getColorPiel(),
			jugadores[i].getColorPelo(), jugadores[i].getVelocidad(), remates[i],
			jugadores[i].getPresicion(), jugadores[i].esPortero());
	    }
	}

	if (presiciones != null) {
	    for (int i = 0; i < 11; i++) {
		jugadores[i] = new JugadorImpl(
			jugadores[i].getNombre(), jugadores[i].getNumero(), jugadores[i].getColorPiel(),
			jugadores[i].getColorPelo(), jugadores[i].getVelocidad(), jugadores[i].getRemate(),
			presiciones[i], jugadores[i].esPortero());
	    }
	}
    }

    public void setJugador(int indice, JugadorImpl jugador) {
	jugadores[indice] = jugador;
    }

    @Override
    public String getNombre() {
	return "Guatigoza";
    }

    @Override
    public String getPais() {
	return "España";
    }

    @Override
    public String getEntrenador() {
	return "Chapita";
    }

    @Override
    public Color getColorCamiseta() {
	return new Color(199, 205, 153);
    }

    @Override
    public Color getColorCamiseta2() {
	return new Color(13, 71, 159);
    }

    @Override
    public Color getColorPantalon() {
	return new Color(116, 133, 137);
    }

    @Override
    public Color getColorPantalon2() {
	return new Color(156, 140, 183);
    }

    @Override
    public Color getColorFranja() {
	return new Color(255, 0, 0);
    }

    @Override
    public Color getColorFranja2() {
	return new Color(22, 242, 39);
    }

    @Override
    public Color getColorCalcetas() {
	return new Color(255, 102, 45);
    }

    @Override
    public Color getColorCalcetas2() {
	return new Color(42, 73, 3);
    }

    @Override
    public Color getColorPortero() {
	return new Color(61, 129, 233);
    }

    @Override
    public Color getColorPortero2() {
	return new Color(82, 80, 109);
    }

    @Override
    public EstiloUniforme getEstilo() {
	return EstiloUniforme.FRANJA_DIAGONAL;
    }

    @Override
    public EstiloUniforme getEstilo2() {
	return EstiloUniforme.LINEAS_VERTICALES;
    }

    @Override
    public JugadorDetalle[] getJugadores() {
	return jugadores;
    }
}